/**vue中封装过滤器的方法**
 * 在main.js中加入下面的
 * //过滤器统一处理加载
    import {filters} from '../static/filter';     //全局引入filter.js
    Object.keys(filters).forEach((key) => {
      Vue.filter(key, filters[key]);
    })
 * 
 * 在页面中使用不需要再次引入filter.js
 * 例子：使用 filterHideInfo 这个方法
 * {{dataname1 | filterHideInfo}}
 * 
 *  
 * */


const filters = {
  // 时间戳转换成yyyy-mm-dd hh:mm:ss
  filterDate (originVal) {
    const dt = new Date(originVal)
    const y = dt.getFullYear()
    const m = (dt.getMonth() + 1 + '').padStart(2, '0')
    const d = (dt.getDate() + '').padStart(2, '0')
  
    const hh = (dt.getHours() + '').padStart(2, '0')
    const mm = (dt.getMinutes() + '').padStart(2, '0')
    const ss = (dt.getSeconds() + '').padStart(2, '0')
    // yyyy-mm-dd hh:mm:ss
    // return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
    return `${y}-${m}-${d}`
  },

  // 隐藏中间四位数   13253422387------------132****2387     
  filterHideInfo(val){
    let str = val.toString()
    return `${str.substring(0,4)}****${str.substring(str.length-4)}`
  },
  // js金额转换三位加上逗号分隔保留小数
  filterFmoney(s) {
    // --s  表示 需要转换的金额
    // --n 表示 保留几位小数
    var n = 2
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
    var t = "";
    l.map((item,i)=>{
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
  
    })
      return t.split("").reverse().join("") + "." + r;
  }
}

export {
  filters
}